Systems and methods for obtaining a resource

ABSTRACT

One example discloses a network system for obtaining a network resource for printing. The network system can comprise a system comprising a memory for storing computer executable instructions and a processing unit for accessing the memory and executing the computer executable instructions. The computer executable instructions can comprise a server comprising a message analyzer. The message analyzer can receive a list of network resources based on a network search executed for query data included in a query print message received at the server. The message analyzer can also select a network resource from the list of network resources that is determined to be a best match for the message to provide a selected resource. The server can manipulate the selected resource into a format for printing to provide a manipulated resource.

BACKGROUND

Cloud computing is location-independent computing, whereby sharedservers provide resources, software, and data to computers and otherdevices on demand. The term “cloud” is used as a metaphor for theInternet, based on the cloud drawing often used to represent computernetworks. Cloud computing describes a supplement, consumption, anddelivery model for information technologies services based on theInternet, and can involves over-the-Internet provision of dynamicallyscalable and often virtualized resources. One key characteristic ofcloud computing is that the computing is “in the cloud” e.g. theprocessing (and the related data) is not in a specified, known or staticplace(s). Details are abstracted from consumers, who no longer have needfor expertise in, or control over, the technology infrastructure “in thecloud” that supports them. This is in contrast to a model in which theprocessing takes place in one or more specific servers that are known.

In some examples of cloud computing, one or more of the aforementionedresources can include a printer, which can be referred to as a cloudprinter. In such a situation, nearly any computing device connected tothe computing cloud can print to the cloud printer.

BRIEF DESCRIPTION OF THE DRAWINGS

FIG. 1 illustrates an example of a network system for obtaining anetwork resource for printing.

FIG. 2 illustrates an example of a query print message.

FIG. 3 illustrates an example of a printing system for obtaining anetwork resource for printing.

FIG. 4 illustrates an example of a flowchart of a method for obtaining anetwork resource for printing.

FIG. 5 illustrates another example of a flowchart of a method forobtaining a network resource for printing.

FIG. 6 illustrates an example of a computer system that can be employedto implement the systems and methods illustrated in FIGS. 1-5.

DETAILED DESCRIPTION

FIG. 1 illustrates an example of a network system 2 for obtaining anetwork resource for printing. The network system 2 could beimplemented, for example, as a computing cloud. A printer 4 can beconnected to a network 6. The network 6 can be implemented, for example,as the Internet. Nodes on the network 6 can communicate via acommunications protocol, such as Transmission Control Protocol/InternetProtocol (TCP/IP), Internet Protocol version 6 (IPv6), etc. The printer4 can be implemented as a cloud printer, wherein the printer 4 can beassigned a node address (e.g., an IP address) on the network 6. In otherexamples, the printer 4 could be connected to a communications port(e.g., a USB port) of a network node that is assigned a node address,where certain messages destined for the network node are passed and/orformatted for the printer 4. The printer 4 can be registered with aprinting system 8.

For purposes of simplification of explanation, in the present example,different components of the network system 2 are illustrated anddescribed as performing different functions. However, one of ordinaryskill in the art will understand and appreciate that the functions ofthe described components can be performed by different components, andthe functionality of several components can be combined and executed ona single component. The components can be implemented, for example, assoftware (e.g., computer executable instructions), hardware (e.g., anapplication specific integrated circuit), or as a combination of both(e.g., firmware). In other examples, the components could bedistributing among remote devices across the network 6 (e.g., externalweb services).

The printing system 8 can include, for example, a memory 10 for storingcomputer executable instructions. The printing system 8 can alsoinclude, for example, a processing unit 12 (e.g., a processor core) foraccessing the memory 10 and executing the computer executableinstructions. The memory 10 can include a printer server 14. Asdescribed herein, the printer server 14 can route print jobs to theprinter 4 based on a received message. The printer server 14 can sendnetwork messages to the printer 4. The network messages can cause aprinter 4 to process a print job (e.g., print a document). The networkmessages can include a payload that provides commands to the printer 4in a protocol native to the printer 4, which can be referred to as aninstruction message. For instance, the instruction message can includeprinter command language (PCL) commands, portable document format (PDF)commands, HEWLETT PACKARD® Graphics Language (HPGL), commands, etc. Toprovide the instruction message, the printer server 14 can include aprinter driver for the printer 4. In some examples, the printer driverfor the printer 4 could be provided to the printer server 14 from anexternal system (e.g. a web service).

The network system 2 can include a client computer 16 that can beimplemented, for example, as a system that can send a message to theprinter server 14 over the network 6. The message can be generated, forexample, by a user 18 of the client computer 16. The client computer 16could be implemented, for example, as a mobile device (e.g., a mobilephone) that can send short message service (SMS) messages to the printerserver 14. In other examples, the client computer 16 could beimplemented as a computer system, such as a tablet, a smart phone, aninteractive television set, an Internet appliance, a laptop or a desktopcomputer that can send email messages, SMS messages, Tweets™, etc. tothe printer server 14. For purposes of simplification of explanation,each of an SMS message, an email message and a Tweet™ can be referred tocollectively as simply a message. Messages sent between the clientcomputer 16 and the printer server 14 can be routed for example througha message router 20. The message router 20 could be implemented, forexample, as an email server, an SMS router, etc. In such a situation,the printer 4 and/or the printer server 14 can be assigned an SMSaddress (e.g., a telephone number) and/or an email address, and messagesaddressed to the SMS address and/or the email address of the printer 4can be routed to the printer server 14. Moreover, although only onemessage router 20 is illustrated in FIG. 1, it is to be understood thatthe message router 20 could be representative of a plurality of messagerouters. Further, in some examples, the message router 20 could beimplemented in the printing system 8.

In some examples, the user 18 can be registered with the printer server14. In such a situation, the user 18 can have preferences registeredwith the printer server 14. For instance, the preferences can designatethat a particular type of print job (e.g., a color photo and/or textdocument) be routed to a particular printer 4.

As one example, the printer server 14 can receive a message requesting(i) a network search, and (ii) a print of content from the network 6based on the network search, which message can be referred to as a queryprint message. The content can be implemented, for example, as a networkresource 22 on the network 6, such as a webpage, a portable documentformat (PDF) file, a text document (e.g., a word processor document),etc. As one example, the query print message can include data structuredas a query for search engine of the World Wide Web (WWW), which data canbe referred to as query data.

FIG. 2 illustrates an example of a query print message 50 that could beemployed as the query print message illustrated in FIG. 1. The queryprint message 50 can include a message header (labeled in FIG. 2 as“MESSAGE HEADER”) that can include routing information that identifiesthe sender of the query print message 50 and the recipient of the queryprint message 50. In some examples, the recipient of the query printmessage 50 identified in the message header could be a printer server ora printer. Moreover, the structure of the message header can vary basedon the particular implementation of the query print message 50. Forinstance, an SMS message being employed as the query print message 50could have a different message header that an email message beingemployed as the query print message 50.

The query print message 50 can also include a message body (labeled inFIG. 2 as “MESSAGE BODY”). In some examples, the message body couldadditionally or alternatively be incorporated as part of the messageheader (e.g., in a subject field of the message header). The messagebody can include a request identifier implemented as a pound symbol(“#”), but it is to be understood that other symbols could be employedas well. Moreover, in some examples, the request identifier could beomitted. Following the message identifier, a print query request can beincluded (labeled in FIG. 2 as “PRINT_QUERY”). The print query requestcan indicate a request that a network search employing query data(labeled in FIG. 2 as “QUERY DATA”) be executed, and that the results ofthe query be printed.

Referring back to FIG. 1, a message analyzer 24 of the printer server 14can extract the query data from the query print message. The messageanalyzer 24 can employ the query data to generate a query (e.g., a websearch) based on the query data. In some examples, the message analyzer24 can be designed as a search engine 26, and can execute a search ofthe network 6. In other examples, the message analyzer 24 cancollaborate with an external system, such as a search engine 26 toperform a search of the network 6. In such a situation, the messageanalyzer 24 can forward the query data to the external system, and theexternal system can return results of the search of the network 6.

The results of the search can be implemented, for example, as thenetwork resource 22 from the network 6. The content can include, forexample, a list of network resources (e.g., web pages, documents, etc.)that are the most likely to contain information desired as indicated bythe query data of the query print message. For instance, in a situationwhere the message analyzer 24 collaborates with an external system toexecute a search of the network 6, the external system could return alist of ten network resources that most likely contain informationdesired based on the query data of the query print message. In someexamples, the results can be based on autocorrections made by the searchengine 26 and/or the printer server 14. In other examples, the resultsof the search could return no results (e.g., in situations where thequery data included misspellings).

Upon receiving the results of the network search, the message analyzer24 can select a network resource determined to be the best match for thequery print message based on the query data, which network resource canbe referred to as a selected resource. In some examples, the messageanalyzer 24 can select multiple network resources and merge the multiplenetwork resources into a single resource. For instance, in response to arequest for a windsurfing report, the message analyzer 24 could mergenetwork resources associated with a weather report, a local eventscalendar, tide conditions, etc. The determination can be based, forexample, on a review of similar network searches. For instance, in someexamples, the printer server 14 can provide the client computer 16 witha list of possible network resources based on the query data, where theuser 18 can select one or more network resources from the list ofpossible network resources, and that network resource can be printed. Insuch a situation, the printer server 14 can record the selection choicemade by the user 18. Thus, after many such queries, the message analyzer24 can accurately predict the selection made by the user 18. As anexample, if the same selection choice is made by a certain percentage ofusers (e.g., about 80%) for a same or similar network search, theprinter server 14 can be designed to presume that such a selectionchoice would also be made by the user 18 for the query print message.Accordingly, in the present example, no interaction between the printerserver 14 and the user 18 is needed after the query print message isreceived at the printer server 14. Instead, the printer server 14 canautomatically select and store the network resource (the selectedresource) from the list of network resources that most likely matchesthe request made in the query print message (e.g., a best match).

In some examples, the message analyzer 24 may be unable to determinefrom the list of network resources the best match for the query printmessage. In such a situation, the message analyzer 24 can provide aresponse message to the client computer 16. For instance, in situationswhere the results of the search produce no results (e.g., empty set),the message analyzer 24 can provide the client computer 16 with theresponse message implemented as a denial message indicating that noresults for the query data were found. In other examples, in situationswhere two or more of the network resources in the list of networkresources have an equal or substantially equal chance of being the bestmatch for the query print message and/or no single network resource fromthe list of network resources has a high likelihood (e.g., at leastabout 80%) of being the best match for the query print message, themessage analyzer 24 can provide the client computer 16 with the responsemessage implemented as a clarification message. The clarificationmessage can, for example, indicate that further narrowing of the searchexecuted based on the query data is needed. In such a situation, theuser 18 of the client computer 16 can submit a new query print messagethat includes more specific parameters set forth in query data.

In situations where the printer server 14 can determine the most likelybest match for the query print message, the printer server 14 can employthe selected resource and manipulate the selected resource into a formatsuitable for printing to provide a manipulated resource. Such amanipulation can include, for example, rearranging the selected resourceand/or selecting a proper subset of the selected resource that issuitable for printing. For instance, some network resources can includeextraneous data (e.g., advertisements, legal disclosures, etc.) thatmight be undesirable for printing. In such a situation, the manipulationof the selected resource can include omission of such extraneous data inthe format suitable for printing. Moreover, the printer server 14 cangenerate a set of commands for the printer based on printing preferencesfor the user 18 to print the manipulated resource. The printer server 14can provide the set of commands as the aforementioned instructionmessage to the printer 4.

In response to the instruction message, the printer 4 can execute theset of commands included in the instruction message to execute a printjob. The printer 4 can provide the printer server 14 with a statusmessage indicating the status of the print job. For instance, if theprinter 4 completes the print job, the status message can indicate thatthe print job has been completed. In another example, if the printer 4fails to complete the print job (e.g., the printer 4 runs out of paper),the status message can indicate that the print job has not beencompleted, and a reason for the incompletion. Based on the statusmessage, the printer server 14 can provide an update message to theclient computer 16. For instance, the update message can includeinformation that indicates that a print job corresponding to the requestmade in the query print message has been completed, as well as anidentification of the printer 4 that executed the print job.Alternatively, the update message can include information that indicatesthat the print job has not been completed, and the reason for theincompletion (e.g., printer 4 out of paper), such that the user 18 canremedy the situation (e.g., load paper at the printer 4).

By utilizing the network system 2, the client computer 16, from whichthe query print message originated does not need to include a printerdriver for the printer 4, but is not prohibited from having such aprinter driver. Moreover, the client computer 16 does not need toinclude a display capable of displaying graphical images (e.g. pictures)in order for the user 18 to be able to print network resources from thenetwork 6. Furthermore, the client computer 16 does not need to includea browser (e.g., a web browser) to obtain network resources from thenetwork 6. Still further, the user 18 does not need to have access to agraphical user interface (GUI) to format a network resource forprinting. Instead, the client computer 16 needs only to include a systemfor contacting the printer server 14 (e.g., an SMS system, an emailclient, a Twitter™ application, etc.).

As some examples, the query data of the query print message could beimplemented as a request for a particular recipe, a request for repairinstructions, driving directions, answers to trivia questions, etc. Ineach of these situations, the printer server 14 and the message analyzer24 can retrieve network resources from the network 6, select whichnetwork resource most likely fulfills the user's 18 intent for a printeddocument, format a selected resource into an appropriate form forprinting, and send an instruction message to a printer 4 causing theprinter 4 to print the selected resource for the user 18. In somesituations, the user 18 may not receive desirable results. For instance,if the query data in a query print message is “recipe kung-pow chicken,”but the user 18 is allergic to peanuts, and the recipe printed by theprinter 4 has peanuts, the user 18 can simply submit a new query printmessage with more specific query data (e.g. “recipe kung-pow chicken nopeanuts”). The network system 2 can provide great flexibility to theuser 18, particularly in situations where the user 18 does not haveaccess to a fully resourced computer.

FIG. 3 illustrates an example of a printing system 100 that can beutilized to implement, for example, the printing system 8 illustrated inFIG. 1. The printing system 100 can include a memory 102 for storingcomputer executable instructions. The memory 102 could be implemented,for example, as random access memory, flash memory, a hard disk, acombination thereof, etc. The printing system 100 can also include aprocessing unit 104 that can access the memory 102 and execute computerexecutable instructions. The processing unit 104 can be implemented, forexample, as a processor core.

The printing system 100 can be coupled to a network 106 (e.g., theInternet) via a network interface 108, which could be implemented as anetwork interface card. The memory 102 can include a printer server 110that can manage print jobs.

The printer server 110 can include an on ramp 112 that receives amessage with query data. The on ramp 112 can examine the message todetermine if the message contains a request identifier and a request for(i) a network search of the network 106 based on the query data and (ii)a print job based on the network search, where such a message can bereferred to as a query print message. The on ramp 112 can provide thequery print message to a message analyzer 114 of the printer server 110.The message analyzer 114 can evaluate a destination address (e.g.,addressee) of the query print message and retrieve a printer record froma data storage 116 of the printing system 100 associated with thedestination address of the query print message, wherein the printer canbe referred to as an identified printer. Moreover, in some examples, themessage analyzer 114 can retrieve printing preferences from the datastorage 116 based on a sender address of the query print message. Theprinting preferences can, for example, identify printing preferences forthe user and/or identify the identified printer. The data storage 116can include, for example, a database and/or a table that can store theprinter record and/or the printing preferences. The data storage 116 canbe implemented, for example as volatile memory (e.g., RAM) ornon-volatile memory (e.g. a hard disk and/or a flash drive). The printerrecord can include routing information (e.g., a network address)associated with the identified printer.

The message analyzer 114 can analyze the query print message to extractquery data. The message analyzer 114 can employ the query data tofacilitate a search of the network 106, which search can be referred toas a network search. The network search can be performed, for example,by the message analyzer 114, and/or in collaboration with a searchengine of an external system. A list of network resources based on theresults of the network search corresponding to content available on thenetwork 106 can be examined by the message analyzer 114. If the messageanalyzer 114 can determine a most likely best match in the list ofresults for the user based on the query data of the query print message,referred to as a selected resource, the message analyzer 114 canretrieve the selected resource from the network 106, and forward theselected resource to an off ramp 118 of the printer server 110.

If the message analyzer 114 is unable to determine a most likely bestmatch due to a lack of network resources return based on the networksearch (e.g., due to misspellings), the message analyzer 114 can providethe sender of the query print message a denial message that indicatesthat no network resources for the query data have been found. In anotherexample, if the message analyzer 114 is unable to determine the mostlikely best match due to at least two different network resources of thelist of network resources having an equal (or near equal) chance ofbeing the best match and/or if no single network resource from the listof network resources has a high likelihood (e.g., at least about 80%) ofbeing the best match for the query print message, the message analyzer114 can provide a clarification message to the sender of the query printmessage. The clarification message can request that the sender of thequery print message provide more specificity in the query print data.

In response to receiving the selected resource, the off ramp 118 canmanipulate the selected resource into a format suitable for printing,which can be referred to as a manipulated resource. Moreover, the offramp 118 can convert the manipulated resource into a set of commandsexecutable by the identified printer (e.g., PCL, PDF, HPGL, etc.). Insome examples, the off ramp 118 can access external systems (e.g., webservices) to facilitate the generation of the set of commands. The offramp 118 can send the set of commands as an instruction message to theidentified printer over the network 106, thereby causing the identifiedprinter to process the set of commands. The processing of the set ofcommands can result, for example, in an execution of the print job. Theexecution of the print job can include, for example, printing themanipulated resource.

The off ramp 118 can receive a status message from the identifiedprinter. The status message could indicate, for example, whether or notthe identified printer has completed a print job based on theinstruction message. In response to the status message, the off ramp 118can provide an update message (e.g., an email or an SMS message) to thesender of the query print message that reports the results of the statusmessage. Thus, the update message provides the sender of the query printmessage an indication of a status of the print job corresponding to theexecution of a print job requested by the query print message.

In view of the foregoing structural and functional features describedabove, example methods will be better appreciated with reference toFIGS. 4-5. While, for purposes of simplicity of explanation, the examplemethods of FIGS. 4-5 are shown and described as executing serially, itis to be understood and appreciated that the present examples are notlimited by the illustrated order, as some actions could in otherexamples occur in different orders and/or concurrently from that shownand described herein. Moreover, it is not necessary that all describedactions be performed to implement a method.

FIG. 4 illustrates a flow chart of an example method 200 for managing aprint job. The method 200 could be executed, for example, by a printingsystem (e.g., included in the network system 2 illustrated in FIG. 1and/or the printing system 100 illustrated in FIG. 3). At 210, a queryprint message can be received at a printer server of the printingsystem. At 220, query data can be extracted from the query printmessage. At 230, a search of a network can be executed based on thequery data of the query print message. At 240, a determination can bemade as to whether a best match for the query print message has beenfound from a list of network resources returned from the execution ofthe network search. If the determination at 240 is negative (e.g., NO),the method 200 can proceed to 250. If the determination is positive(e.g., YES), the method 200 can proceed to 260. At 250, a responsemessage is provided to the sender of the query print message. Theresponse message can be implemented, for example, as a denial message,for example, if no network resources are returned from the execution ofthe search. Alternatively, the response message can be implemented as aclarification message, for example, if at least two different networkresources have substantially the same likelihood of being a best matchfor the query print message and/or if no single network resource has ahigh likelihood (e.g., at least about 80%) of being the best match forthe query print message.

At 260, the network resource corresponding to the best match for thequery print message can be manipulated into a format suitable forprinting. The manipulation can include, for example, rearrangingfeatures of the network resource and/or selecting a proper subset of thefeatures in the network resource for printing. At 270, a command set canbe generated based on the manipulated resource. For instance, themanipulated resource can be converted, by the printing system, into aset of commands in a protocol native to a printer (e.g., PCL, PDF, HGPL,etc.) identified in the query print message and/or a printer associatedwith printing preferences of the sender of the query print message. At280, an instruction message including the commands can be provided tothe printer from the printer server. At 290, the printer server canreceive a status message from the identified printer. The status messagecan indicate whether the print job has been executed. At 300, theprinter server can provide an update message (e.g., an email message, anSMS message, a Tweet™, etc.) to the sender of the query print messagebased on information in the status message. By utilization of the method200, a user of a client system (e.g., the sender of the query printmessage) can print network resources from the network (e.g., theInternet) even if the client system does not include a web browserand/or a graphical display. Moreover, the client system does not need toinclude a driver for the printer. Accordingly, the client system canleverage and print network resources from the network with a very simpleclient system (e.g., a client system with a monochrome and/or smalldisplay).

FIG. 5 illustrates another flowchart of an example method 400 forobtaining a network resource for printing. At 410, a query print messagethat includes query data can be received. The query print message caninclude query data. At 420 a selected resource can be selected from alist of network resources returned from a network search based on thequery data. The selected resource can be a network resource thatcorresponds to a best match for the query print message. At 430, acommand set can be generated based on the selected resource for aprinter associated with a sender of the query print message.

FIG. 6 is a schematic block diagram illustrating an example system 500of hardware components capable of implementing examples disclosed inFIGS. 1-5, such as the printing system 8, the client computer 16, andportions of the of printer 4 illustrated in FIG. 1 and/or the printingsystem 100 illustrated in FIG. 3. The system 500 can include varioussystems and subsystems. The system 500 can be a personal computer, alaptop computer, a workstation, a computer system, an appliance, anapplication-specific integrated circuit (ASIC), a server, a server bladecenter, a server farm, a mobile device, such as a smart phone, apersonal digital assistant, an interactive television set, an Internetappliance, etc.

The system 500 can include a system bus 502, a processing unit 504, asystem memory 506, memory devices 508 and 510, a communication interface512 (e.g., a network interface), a communication link 514, a display 516(e.g., a video screen), and an input device 518 (e.g., a keyboard and/ora mouse). The system bus 502 can be in communication with the processingunit 504 and the system memory 506. The additional memory devices 508and 510, such as a hard disk drive, server, stand alone database, orother non-volatile memory, can also be in communication with the systembus 502. The system bus 502 operably interconnects the processing unit504, the memory devices 506-510, the communication interface 512, thedisplay 516, and the input device 518. In some examples, the system bus502 also operably interconnects an additional port (not shown), such asa universal serial bus (USB) port.

The processing unit 504 can be a computing device and can include anapplication-specific integrated circuit (ASIC). The processing unit 504executes a set of instructions to implement the operations of examplesdisclosed herein. The processing unit can include a processor core.

The additional memory devices 506, 508 and 510 can store data, programs,instructions, database queries in text or compiled form, and any otherinformation that can be needed to operate a computer. The memories 506,508 and 510 can be implemented as computer-readable media (integrated orremovable) such as a memory card, disk drive, compact disk (CD), orserver accessible over a network. In certain examples, the memories 506,508 and 510 can comprise text, images, video, and/or audio.

Additionally, the memory devices 508 and 510 can serve as databases ordata storage such as the data storage 116 illustrated in FIG. 3.Additionally or alternatively, the system 500 can access an externalsystem (e.g., a web service) through the communication interface 512,which can communicate with the system bus 502 and the communication link514.

In operation, the system 500 can be used to implement, for example, aclient computer, a printer server, and at least some components ofprinters the can be employed in a system that obtains a network resourcefor printing. Computer executable logic for implementing the system,such as the memory 10 of the printing system 8 illustrated in FIG. 1 andor the printing system 100 illustrated in FIG. 3, can reside in thesystem memory 506, and/or in the memory devices 508 and/or 510 inaccordance with certain examples. The processing unit 504 executes oneor more computer executable instructions originating from the systemmemory 506 and the memory devices 508 and 510. In such an example, thesystem memory 506 and/or the memory devices 508 and/or 510 could beemployed, for example, to implement the memory 10 illustrated in FIG. 1and/or the memory 102 illustrated in FIG. 3. The term “computer readablemedium” as used herein refers to a medium that participates in providinginstructions to the processing unit 504 for execution.

Where the disclosure or claims recite “a,” “an,” “a first,” or “another”element, or the equivalent thereof, it should be interpreted to includeone or more than one such element, neither requiring nor excluding twoor more such elements. Furthermore, what have been described above areexamples. It is, of course, not possible to describe every conceivablecombination of components or methods, but one of ordinary skill in theart will recognize that many further combinations and permutations arepossible. Accordingly, the invention is intended to embrace all suchalterations, modifications, and variations that fall within the scope ofthis application, including the appended claims.

1. A network system for obtaining a network resource for printingcomprising: a system comprising: a memory for storing computerexecutable instructions; and a processing unit for accessing the memoryand executing the computer executable instructions, the computerexecutable instructions comprising: a server comprising a messageanalyzer to: receive a list of network resources based on a networksearch executed for query data included in a query print messagereceived at the server; and select a network resource from the list ofnetwork resources that is determined to be a best match for the queryprint message to provide a selected resource; wherein the server is tomanipulate the selected resource into a format for printing to provide amanipulated resource.
 2. The network system of claim 1, wherein thequery print message comprises a short message service (SMS) message. 3.The network system of claim 1, wherein the selected resource comprisesone of a webpage, a PDF file and a text document.
 4. The network systemof claim 1, wherein the server is further to convert the manipulatedresource into a set of commands for executing a print job.
 5. Thenetwork system of claim 4, wherein the server provides the set ofcommands in an instruction message to a printer.
 6. The network systemof claim 1, where in the manipulating comprises selecting a propersubset of the selected resource for printing.
 7. The network system ofclaim 1, wherein the query print message comprises an email message. 8.The network system of claim 1, wherein the query print messagecomprises: a request identifier; and a request for the network searchand a print job based on the network search.
 9. A method for obtaining anetwork resource for printing comprising: receiving a query printmessage that includes query data; selecting, from a list of networkresources returned from a network search based on the query data, aselected resource that corresponds to a best match for the query printmessage; and generating a command set based on the selected resource fora printer associated with a sender of the query print message.
 10. Themethod of claim 9, further comprising manipulating the selected resourceto provide the selected resource in a format suitable for printing. 11.The method of claim 10, wherein the manipulating comprises selecting aproper subset of the selected resource for printing.
 12. The method ofclaim 9, wherein the query print message comprises a short messageservice (SMS) message.
 13. The method of claim 9, wherein the queryprint message comprises an email message.
 14. The method of claim 9,wherein the query print message comprises: a request identifier; and arequest for the network search and a print job based on the networksearch.
 15. A system for obtaining a network resource for printingcomprising: a printing system coupled to a network, the printing systemcomprising: a memory for storing computer executable instructions; and aprocessing unit for accessing the memory and executing the computerexecutable instructions, the computer executable instructionscomprising: a printer server comprising: an on ramp to receive a queryprint message from a client computer; a message analyzer to:  facilitatea network search based on query data included in the query printmessage; and  provide a selected resource from a list of networkresources returned from the network search that has a highest likelihoodof being a best match for the query print message; an off ramp to: manipulate the selected resource into a format suitable for printing toprovide a manipulated resource;  generate a command set for a printerbased on the manipulated resource; and  provide an instruction messagethat includes the command set to the printer;  wherein the query printmessage comprises a request for the network search and a print job basedon the network search.